﻿
using JshRCSWebApi.Infrastructure.Domain.DTO.SysVehicle;
using JshRCSWebApi.Infrastructure.Domain.DTO.SysVehicle.VehicleControl;
using JshRCSWebApi.Infrastructure.Domain.DTO.SysVehicle.VehicleOther;
using JshRCSWebApi.Service.SysVehicle;

namespace JshRCSWebApi.API.Controllers.SysVehicle
{
    public class VehicleOtherController : BaseController
    {
        private readonly VehicleOtherService _vehicleOtherService;
        public VehicleOtherController(IHttpContextAccessor httpContextAccessor, VehicleOtherService vehicelOtherService) : base(httpContextAccessor)
        {
            _vehicleOtherService = vehicelOtherService;
        }

        /// <summary>
        /// 顶升机构下降 6071  
        /// </summary>
        /// <param name="requestDTO"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<ApiResult> robot_other_jack_unload_req(RequestDTO requestDTO)
            => await _vehicleOtherService.robot_other_jack_unload_req(requestDTO);

        /// <summary>
        /// 顶升机构停止 6072    
        /// </summary>
        /// <param name="requestDTO"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<ApiResult> robot_other_jack_stop_req(RequestDTO requestDTO)
            => await _vehicleOtherService.robot_other_jack_stop_req(requestDTO);

        /// <summary>
        /// 顶升定高 6073    
        /// </summary>
        /// <param name="requestDTO"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<ApiResult> robot_other_jack_set_height_req(RequestDTO<robot_other_jack_set_height_DTO> requestDTO)
            => await _vehicleOtherService.robot_other_jack_set_height_req(requestDTO);

        /// <summary>
        /// 顶升机构上升 6070     
        /// </summary>
        /// <param name="requestDTO"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<ApiResult> robot_other_jack_load_req(RequestDTO requestDTO)
            => await _vehicleOtherService.robot_other_jack_load_req(requestDTO);

        /// <summary>
        /// 开始扫描地图 6100      
        /// </summary>
        /// <param name="requestDTO"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<ApiResult> robot_other_slam_req(RequestDTO<robot_other_slam_DTO> requestDTO)
            => await _vehicleOtherService.robot_other_slam_req(requestDTO);

        /// <summary>
        /// 停止扫描地图 6101       
        /// </summary>
        /// <param name="requestDTO"></param>
        /// <returns></returns>
        [HttpPost]
        public async Task<ApiResult> robot_other_endslam_req(RequestDTO requestDTO)
            => await _vehicleOtherService.robot_other_endslam_req(requestDTO);


    }
}
